import axios from 'axios'

// 创建一个axios实例
const $axios = axios.create({
    // 设置超时时间
    timeout: 3000,
    // 基础url，会在请求url中自动添加前置链接
    baseURL: process.env.VUE_APP_BASE_API,
    responseType: 'json',
    withCredentials: false,
    headers: {
        // 'Content-Type': 'application/json'
        get: {
            'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
                // 在开发中，一般还需要单点登录或者其他功能的通用请求头，可以一并配置进来
        },
        post: {
            'Content-Type': 'application/json;charset=utf-8'
                // 在开发中，一般还需要单点登录或者其他功能的通用请求头，可以一并配置进来
        }

    }

})
    //     /**
    //      * 请求拦截器
    //      * 用于处理请求前添加loading、判断是否已保存token，并在每次请求头部添加token
    //      */
$axios.interceptors.request.use(
        config => {
            if (localStorage.getItem('Authorization')) {
              config.headers.Authorization = localStorage.getItem('Authorization')
            }
            return config
        },
        error => {
            return Promise.reject(error)
        }
    )

export default {
    post_login(url, data) {
        return $axios({
            method: 'post',
            url,
            data: JSON.stringify(data)
            // headers: {
            //     'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
            // }
        })
    },
  post(url, data) {
    return $axios({
      method: 'post',
      url,
      data: data,
      headers: {
        'Content-Type': 'application/json; charset=UTF-8'
      }
    })
  },
    get(url, params) {
        return $axios({
            method: 'get',
            url,
            params
        })
    },
  put(url, data) {
      return $axios(({
        method: 'put',
        url,
        data: data
      }))
  }
}
